using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;

namespace Animation_Editor
{
    public class Trigger
    {
        string m_czTrigger;

        public string CzTrigger
        {
            get { return m_czTrigger; }
            set { m_czTrigger = value; }
        }


        int m_nTriggerType;

        public int NTriggerType
        {
            get { return m_nTriggerType; }
            set { m_nTriggerType = value; }
        }
    }
    public class Frame
    {
        private Rectangle m_rFrameRect;
        public Rectangle RFrameRect
        {
            get { return m_rFrameRect; }
            set { m_rFrameRect = value; }
        }


        private Point m_ptAnchorPoint;
        public Point PtAnchorPoint
        {
            get { return m_ptAnchorPoint; }
            set { m_ptAnchorPoint = value; }
        }

        private Rectangle m_fTempCollision;
        public Rectangle FTempCollision
        {
            get { return m_fTempCollision; }
            set { m_fTempCollision = value; }
        }

        private float m_fFrameDuration;
        public float FFrameDuration
        {
            get { return m_fFrameDuration; }
            set { m_fFrameDuration = value; }
        }

        private List<Rectangle> m_lCollisionRects;
        public List<Rectangle> LCollisionRects
        {
            get { return m_lCollisionRects; }
            set { m_lCollisionRects = value; }
        }

        private List<Trigger> m_fFrameTriggers = new List<Trigger>();
        public List<Trigger> FFrameTriggers
        {
            get { return m_fFrameTriggers; }
            set { m_fFrameTriggers = value; }
        }

        private int m_nFrameNumber;
        public int NFrameNumber
        {
            get { return m_nFrameNumber; }
            set { m_nFrameNumber = value; }
        }

        
    }

    public class Animation
    {
        private List<Frame> m_LFrames;
        internal List<Frame> LFrames
        {
            get { return m_LFrames; }
            set { m_LFrames = value; }

        }

        private string m_czAnimationName;
        public string CzAnimationName
        {
            get { return m_czAnimationName; }
            set { m_czAnimationName = value; }
        }

        private float m_fAnimationSpeed;
        public float FAnimationSpeed
        {
            get { return m_fAnimationSpeed; }
            set { m_fAnimationSpeed = value; }
        }

        private int m_fLoopOrOssicilate;
        public int FLoopOrOssicilate
        {
            get { return m_fLoopOrOssicilate; }
            set { m_fLoopOrOssicilate = value; }
        }
    }
}
